package com.ruoyi.puyu.service;

import com.alibaba.fastjson2.JSONArray;
import com.ruoyi.puyu.domain.PuyuLessonStudent;

import java.util.List;

/**
 * 学员课时点名Service接口
 * 
 * @author wusongwen
 * @date 2024-05-01
 */
public interface IPuyuLessonStudentService 
{
    /**
     * 查询学员课时点名
     * 
     * @param lessonStudentId 学员课时点名主键
     * @return 学员课时点名
     */
    public PuyuLessonStudent selectPuyuLessonStudentByLessonStudentId(Long lessonStudentId);

    /**
     * 查询学员课时数
     *
     * @param studentId
     * @return
     */
    public int selectPuyuLessonStudentCountByStudentId(Long studentId);

    /**
     * 查询学员课时点名列表
     * 
     * @param puyuLessonStudent 学员课时点名
     * @return 学员课时点名集合
     */
    public List<PuyuLessonStudent> selectPuyuLessonStudentList(PuyuLessonStudent puyuLessonStudent);

    /**
     * 获取学员课时数
     * @return 结果
     */
    public JSONArray listLessonStudentSum();

    /**
     * 查询学员课时点名
     *
     * @param puyuLessonStudent 学员课时点名
     * @return 学员课时点名
     */
    public PuyuLessonStudent selectPuyuLessonStudentByLessonStudent(PuyuLessonStudent puyuLessonStudent);

    /**
     * 新增学员课时点名
     * 
     * @param puyuLessonStudent 学员课时点名
     * @return 结果
     */
    public int insertPuyuLessonStudent(PuyuLessonStudent puyuLessonStudent);

    /**
     * 修改学员课时点名
     * 
     * @param puyuLessonStudent 学员课时点名
     * @return 结果
     */
    public int updatePuyuLessonStudent(PuyuLessonStudent puyuLessonStudent);

    /**
     * 批量删除学员课时点名
     * 
     * @param lessonStudentIds 需要删除的学员课时点名主键集合
     * @return 结果
     */
    public int deletePuyuLessonStudentByLessonStudentIds(Long[] lessonStudentIds);

    /**
     * 删除学员课时点名信息
     * 
     * @param lessonStudentId 学员课时点名主键
     * @return 结果
     */
    public int deletePuyuLessonStudentByLessonStudentId(Long lessonStudentId);
}
